package request

type ImagineReq struct {
	Idempotent string `json:"idempotent" from:"idempotent"`
	Prompt     string `json:"prompt" from:"prompt"`
	ImgUrl     string `json:"img_url" from:"img_url"`
}

type ImagineApiReq struct {
	Idempotent string `json:"idempotent" from:"idempotent"`
	Prompt     string `json:"prompt" from:"prompt"`
	ImgBase64  string `json:"img_base64" from:"img_base64"`
	NotifyUrl  string `json:"notify_url" from:"notify_url"`
}

type ChangeReq struct {
	Idempotent  string `json:"idempotent" from:"idempotent"`
	Action      string `json:"action" from:"action"`
	Index       int64  `json:"index" from:"index"`
	TaskId      string `json:"task_id" from:"task_id"`
	ImageTaskId int    `json:"image_task_id" from:"image_task_id"`
}

type ChangeApiReq struct {
	Idempotent string `json:"idempotent" form:"idempotent"`
	Action     string `json:"action" form:"action"`
	Index      int64  `json:"index" form:"index"`
	TaskId     string `json:"task_id" form:"task_id"`
	NotifyUrl  string `json:"notify_url" form:"notify_url"`
}

type CallbackReq struct {
	FailReason      string `json:"failReason" from:"failReason"`
	Idempotent      string `json:"idempotent" from:"idempotent"`
	ImageUrl        string `json:"image_url" from:"image_url"`
	Prompt          string `json:"prompt" from:"prompt"`
	TaskId          string `json:"task_id" from:"task_id"`
	TaskProgress    string `json:"task_progress" from:"task_progress"`
	TaskProgressInt int    `json:"task_progress_int" from:"task_progress_int"`
	TaskStatus      string `json:"task_status" from:"task_status"`
}

// CallbackPicture 回调aigc服务
type CallbackPicture struct {
	TaskId     int64  `json:"task_id" from:"task_id"`
	ImageUrl   string `json:"image_url" from:"image_url"`
	TaskStatus string `json:"task_status" from:"task_status"`
}

type CallbackHeader struct {
	AcceptEncoding string `json:"accept-encoding" from:"accept-encoding"`
	Ts             int    `json:"ts" from:"ts"`
	Sign           string `json:"sign" from:"sign"`
	ContentType    string `json:"content-type" from:"content-type"`
	Ak             string `json:"ak" from:"ak"`
	UserAgent      string `json:"user-agent" from:"user-agent"`
	ContentLength  int    `json:"content-length" from:"content-length"`
	Connection     string `json:"connection" from:"connection"`
	XScheme        string `json:"x-scheme" from:"x-scheme"`
	XRealIp        string `json:"x-real-ip" from:"x-real-ip"`
	Host           string `json:"host" from:"host"`
}
